package com.hanamaki.homework.lesson;

import java.util.Arrays;
import java.util.Scanner;

public class Demo02 {

    /**
     * IF 语句 学习成绩判断
     * 从键盘上输入学生成绩
     * 成绩>=90 显示 成绩优秀
     * 80<=成绩<90   显示 成绩良好
     * 60<=成绩<80   显示 成绩及格
     * 成绩<60   显示    成绩不及格
     */
    public static void print_score() {
        System.out.println("请输入成绩：");
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextDouble()) {
            double score = scanner.nextDouble();
            if (score >= 90) {
                System.out.println("成绩优秀");
            } else if (80 <= score && score < 90) {
                System.out.println("成绩良好");
            } else if (60 <= score && score < 80) {
                System.out.println("成绩及格");
            } else if (score < 60) {
                System.out.println("不及格");
            } else {
                System.out.println("成绩不合法");
            }
        }

    }

    /**
     * 从键盘输入 季节
     * 春天 输出 春光明媚
     * 夏天 输出 夏日炎炎
     * 秋天 输出 秋高气爽
     * 冬天 输出 白雪皑皑
     * 其他 输出 输入错误
     */
    public static void season() {
        System.out.println("请输入季节：");
        Scanner scanner = new Scanner(System.in);

        /* 在接受季节的时候  要判断输入的是否为 字符串 */
        while (scanner.hasNextLine()) {
            String s = scanner.nextLine();
            switch (s) {
                case "春天":
                    System.out.println("春光明媚");
                    break;
                case "夏天":
                    System.out.println("夏日炎炎");
                    break;
                case "秋天":
                    System.out.println("秋高气爽");
                    break;
                case "冬天":
                    System.out.println("白雪皑皑");
                    break;
                default:
                    System.out.println("输入错误");

            }
            System.exit(100);
        }

    }

    /*输入三个整数，输出最大数和最小数。 可变长参数*/
    public static void man_min(int... a) {
        /* 打印数组*/
        String s = Arrays.toString(a);
        System.out.println(s);
        /* 数组排序 */
        Arrays.sort(a);
        System.out.println("最小值：" + a[0]);
        System.out.println("最大值：" + a[a.length - 1]);

        int max = a[0];
        int min = a[0];
        for (int i = 1; i < a.length; i++) {
            if (a[i] > max) {
                max = a[i];
            }
            if (a[i] < min) {
                min = a[i];
            }
        }
        System.out.println(max);
        System.out.println(min);

    }

    /**
     * 下面的程序，按颜色代码和颜色名称的对应关系，根据输入的颜色号，
     * 输出对应的颜色名称：0 -- Black , 1 -- Blue , 2 -- Green , 3 -- Red , 4 -- Yellow
     */
    public static void color_code() {
        System.out.println("请输入颜色色号(0----4)：");
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        String[] color = {"Black", "Blue", "Green", "Red", "Yellow"};
        /* 通过下标取值 */
        System.out.println("你选择的颜色为：" + color[i]);
    }

    /**
     * 5.	输入一个整数，判断该数的奇偶性。
     * @param num
     */
    public static void odd_even_num(int num) {
        /* 数学公式类 */
        if (Math.floorMod(num, 2) == 0) {
            System.out.println("偶数");
        } else {
            System.out.println("奇数");
        }
    }

    /**
     * 6.	给定一个正整数，判断它是否能同时被3、5、7整除
     * @param num
     */
    public static void three_and_five(int num) {
        if (num % 3 == 0 && num % 5 == 0 && num % 7 == 0) {
            System.out.println("YES");
        }
        else
        System.out.println("NO");
    }

    /**
     * 7.	编写程序计算下面分段函数的值：
     * 2x+5   (x<0)
     * f(x) =    x2-x+3  (0≤x<10)
     * x3-7x   (x≥10)
     * 具体要求如下：
     * （1）	用if语句实现分支，自变量和函数值均用double类型。
     * （2）	自变量用Scanner的nextDouble()方法输入，给一些输入提示。
     * （3）	分别输入三种区间中x的值，检查输出结果是否正确。
     */
    public static void function(int x) {
        if (x < 0) {
            System.out.println(2 * x + 5);
        } else if (x >= 0 && x < 10) {
            System.out.println(x * x - x + 3);
        } else if (x >= 10) {
            System.out.println((x * x * x) - (7 * x));
        }
    }

    /**
     * 8.编写程序，用Scanner的nextInt()方法输入一个年份，需要判断是否是闰年，
     * 闰年的条件为：年份能被4整除但不能被100整除，或者年份能被400整除。
     *
     * @param year
     */
    public static void is_year(int year) {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            System.out.println(year + "年为闰年");
        }
        else
        System.out.println("不是闰年");
    }

    /**
     * 11.	用Scanner的nextInt()方法输入输入一个月份数，输出该月份的英文名称。
     * 从控制台输入三个整数，判断是否可以构成三角形（2边之和大于第3边）
     * 如果能够构成三角形，则判断是等边三角形、等腰三角形或普通三角形，并输出
     */
    public static void is_triangle(int a, int b, int c) {
        if (a + b > c && a + c > b && b + c > a) {
            if (a == b && b == c && a == c) {
                System.out.println("等边三角形");
            } else if (a == b || b == c || a == c) {
                System.out.println("等腰三角形");
            }else
                System.out.println("普通三角形");
        }
        else {
            System.out.println("NO");
        }
    }


    public static void main(String[] args) {
//        print_score();
//        season();
//        man_min(7, 14, 1);
//        color_code();
//        odd_even_num(4);
//        three_and_five(105);
//        function(6);

//        is_year(2021);

        is_triangle(3, 3, 3);
    }
}
